.\" -*-nroff-*-
.TH "GAUCHE\-INSTALL" "1" "" "Gauche @GAUCHE_VERSION@" "Gauche Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
gauche-install \- install files and set attributes
.SH "SYNOPSIS"
  1)* \fBgauche\-install\fR [\fB\fIOPTION\fR\fR...] \fB\fIFILE\fR\fR \fB\fIDEST\fR\fR
  2)* \fBgauche\-install\fR [\fB\fIOPTION\fR\fR...] \fB\fIFILE\fR\fR... \fB\fIDIRECTORY\fR\fR
  3)* \fBgauche\-install\fR \fB\-d\fR [\fB\fIOPTION\fR\fR...] \fB\fIDIRECTORY\fR\fR...
  4)  \fBgauche\-install\fR \fB\-T\fR \fIDIRECTORY\fR [\fB\fIOPTION\fR\fR...] \fB\fIFILE\fR\fR...
  5)  \fBgauche\-install\fR \fB\-U\fR \fIDIRECTORY\fR [\fB\fIOPTION\fR\fR...] \fB\fIFILE\fR\fR...
.SH "DESCRIPTION"
.PP
\fBgauche\-install\fR
is a program to install and remove files\&.
On installation it allows to set ownership and permissions\&.
This command is upward compatible with BSD install(1) and can be
used as a drop-in replacement of it.   Notably,
1st, 2nd and 3rd command-line format above are compatible with BSD install.
.PP
This command is provided mainly for Gauche's extension packages
to have simpler installation and configuration process.   Being certain
that gauche\-install is available, those packages don't need to
worry about subtle differences between various install(1) commands.
.PP
The first format copies
.I FILE
on the file or in the directory named by
.I DEST\&.
The second format copies
.I FILE ...
into the directory
.IR DIRECTORY .
.PP
The third format ensures
.I DIRECTORY
exists.  If it doesn't, the command creates the path to the
.I DIRECTORY ,
including any intermediate ones.
.PP
The fourth format installing
.I FILE ...
to the
.IR DIRECTORY .
It is more convenient than the first and second formats in
the following regards:
.IP "" 3
* If the destination directory does not exist, it is created
(with any intermediate paths as needed).
.IP "" 3
* The list of files can be empty, so that when the list of
installed files can be generated by configuration, you don't
need to handle the empty case specially in Makefile.
(With BSD install format, empty file list yields an error.)
.IP "" 3
* The directory prefix of files are preserved within the
destination directory.  This is handy to install subtree of files.
For example, the following command installs '/usr/share/foo/main',
\&'/usr/share/foo/conf/x' and '/usr/share/foo/conf/y' with a
single command.

  gauche-install -T /usr/share/foo main conf/x conf/y

Giving \fB\-p\fR option suppresses this behavior and
strips any directory prefix like the second format.  The
following command line installs '/usr/share/foo/main',
\&'/usr/share/foo/x' and '/usr/share/foo/y'.

  gauche-install -T /usr/share/foo -p main conf/x conf/y
.PP
The fifth format removes
.I FILE ...
in the
.IR DIRECTORY .
Irrelevant options are ignored, so it is handy to uninstall
files just by chaning \fB\-T\fR in the fourth format to \fB\-U\fR.
.SH "OPTIONS"
.PP
\fB\-C\fR, \fB\-\-canonical\-suffix\fR
.RS 4
This is used specially to install Gauche's autogenerated
Scheme source by experimental precompilation.  The generated file
has a *\&.sci.  Upon installation, this command replaces the suffix
for *\&.scm\&.
.RE
.PP
\fB\-d\fR, \fB\-\-directory\fR
.RS 4
Creates directories\&. (3rd format only)\&.  It is only for the compatibility.
Using the \fB\-T\fR option, the destination directories are created
automatically if missing.
.RE
.PP
\fB\-g\fR, \fB\-\-group=\fR\fIGROUP\fR
.RS 4
Change group of the installed file\&.
.RE
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Show summary of options\&.
.RE
.PP
\fB\-m\fR, \fB\-\-mode=\fR\fIMODE\fR
.RS 4
Change mode of the installed file\&.
.RE
.PP
\fB\-n\fR, \fB\-\-dry\-run\fR
.RS 4
Just prints what actions to be done\&.
.RE
.PP
\fB\-o\fR, \fB\-\-owner=\fR\fIOWNER\fR
.RS 4
Change owner of the installed file\&.
.RE
.PP
\fB\-p\fR, \fB\-\-strip\-prefix=\fR\fIPREFIX\fR
.RS 4
Strip
\fIPREFIX\fR
directories from
\fIFILE\fR(s) before installation\&. (4th/5th format only)\&.
.RE
.PP
\fB\-\-shebang=\fR\fB\fIPATH\fR\fR
.RS 4
Adds #!PATH before the file contents\&. Useful to install scripts\&.
.RE
.PP
\fB\-S\fR, \fB\-\-srcdir=\fR\fB\fIdirectory\fR\fR
.RS 4
Look for files within \fIdirectory\fR; useful if VPATH is used
in Makefiles.
.RE
.PP
\fB\-T\fR, \fB\-\-target=\fR\fB\fIdirectory\fR\fR
.RS 4
Installs files to the
\fIdirectory\fR, creating paths if needed\&.
Partial path of files are preserved unless \fB\-p\fR option is given\&.
(4th format only)
.RE
.PP
\fB\-U\fR, \fB\-\-uninstall=\fR\fB\fIdirectory\fR\fR
.RS 4
Reverse of
\fB\-T\fR, e\&.g\&. removes files from its destination\&.
Other options (except \fB\-h\fR and \fB\-n\fR) are ignored.
.RE
.PP
\fB\-v\fR, \fB\-\-verbose\fR
.RS 4
Work verbosely\&.
.RE
.SH "DIAGNOSTICS"
.PP
\fBgauche\-install\fR
exits with status 0 on success\&.
.SH "SEE ALSO"
.PP
\fBgauche-package\fR(1),
\fBinstall\fR(1)
.PP
The program will be documented fully by the
Gauche Developers\' Reference
available via the
\fBinfo\fR(1)
system\&.
.SH "AUTHORS"
.PP
\fBShiro Kawai\fR <\&shiro@acm\&.org\&>
.sp -1n
.IP "" 4
Author.
.PP
\fBJens Thiele\fR <\&karme@karme\&.de\&>
.sp -1n
.IP "" 4
Wrote this manpage for the Debian system\&.
.SH "COPYRIGHT"
Copyright \(co 2010 Jens Thiele
.br
.PP
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved\&. This file is offered as\-is, without any warranty\&.
.sp
